---
title: "Class ViewerControllerResponseCache&lt;TRequest, TResponse> | Customer's Canvas On-Premises"
canonical: "https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Controllers.Caching/ViewerControllerResponseCache`TRequest, TResponse`/"
---

# Class ViewerControllerResponseCache<TRequest, TResponse>

> **Inheritance:** `System.Object` -> ViewerControllerResponseCache&lt;TRequest, TResponse&gt;

# Class ViewerControllerResponseCache&lt;TRequest, TResponse&gt;

###### **Namespace**: [Aurigma.DesignAtoms.Controllers.Caching](https://customerscanvas.com/docs/on-premises/design-atoms-cs/reference/api/Aurigma.DesignAtoms.Controllers.Caching.md)

###### **Assembly**: Aurigma.DesignAtoms.dll

```csharp title="Syntax"
public class ViewerControllerResponseCache<TRequest, TResponse> : IViewerControllerResponseCache<TRequest, TResponse>, IDisposable where TResponse : class
```

## Implements

* `Aurigma.DesignAtoms.Controllers.Caching.IViewerControllerResponseCache<<TRequest>,<TResponse>>`
* `System.IDisposable`

## Inherited Members

* `System.Object.ToString`
* `System.Object.Equals(System.Object)`
* `System.Object.Equals(System.Object,System.Object)`
* `System.Object.ReferenceEquals(System.Object,System.Object)`
* `System.Object.GetHashCode`
* `System.Object.GetType`
* `System.Object.MemberwiseClone`

## Constructors

### ViewerControllerResponseCache

```csharp
public ViewerControllerResponseCache(IMemoryCachingService memoryCachingService, string cacheName, CacheItemPolicy cacheItemPolicy, Func<TRequest, string> cacheKeyCalculateDelegate)
```

## Methods

### TryGetResponse

```csharp
public bool TryGetResponse(TRequest request, out TResponse response)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `<TRequest>` | *request* |  |
| `<TResponse>` | *response* |  |

##### Returns

`System.Boolean`

##### Type Parameters

| Name | Description |
|:---|:---|
| `TRequest` |  |
| `TResponse` |  |

### AddResponse

```csharp
public void AddResponse(TRequest request, TResponse getColorPreviewsResponse)
```

##### Parameters

| Type | Name | Description |
|:---|:---|:---|
| `<TRequest>` | *request* |  |
| `<TResponse>` | *getColorPreviewsResponse* |  |

##### Type Parameters

| Name | Description |
|:---|:---|
| `TRequest` |  |
| `TResponse` |  |

### Dispose

```csharp
public void Dispose()
```

##### Type Parameters

| Name | Description |
|:---|:---|
| `TRequest` |  |
| `TResponse` |  |
